//
//  LGWebViewController.h
//  LuxuryGoods
//
//  Created by 刘星辰 on 2018/5/19.
//  Copyright © 2018年 Future. All rights reserved.
//

#import "LGBaseViewController.h"
#import <WebKit/WebKit.h>
@interface LGWebViewController : LGBaseViewController
/**
 webView
 */
@property (nonatomic, strong, readonly) WKWebView *webView;


/**
 网页URL
 */
@property (nonatomic, copy) NSString *webUrl;


/**
 网页标题
 */
@property (nonatomic, copy) NSString *webTitle;


/**
 本地HTML文件名
 */
@property (nonatomic, copy) NSString *localHtmlFile;


/**
 HTML代码
 */
@property (nonatomic, copy) NSString *localHtmlString;

/**
 加载结束的block
 */
@property (nonatomic,copy) void (^loadedFinish)(WKWebView *webView,WKNavigation *navigation,NSError *error);

/**
 添加JS消息处理者
 
 @param handle JS消息处理block，body为JS传过来的数据，类型可能为NSNumber, NSString, NSDate, NSArray, NSDictionary, NSNull
 @param name JS消息名称
 */
- (void)addScriptMessageHandleBlock:(void(^)(id body))handle name:(NSString *)name;



/**
 oc调js方法
 
 @param methodName 方法名 例如 @"alert" 不用括号
 @param parameter 参数 用字典封装
 @param handle 成功的会掉
 */
- (void)calledScriptMethod:(NSString *)methodName parameter:(id )parameter completionHandler:(void(^)(id bdoy,NSError *error))handle;


/**
 初始化请求
 */
- (void)initialRequest;


/********************Override********************/

/**
 webView跳转之前，该方法会先被调用，子类可以覆盖该方法并决定是否进行此次跳转
 
 @param webView WKWebView
 @param navigationAction 此次调转的信息
 @param decisionHandler 通过调用这个block来控制webView是否进行跳转
 */
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler;

@end
